package personaje;

import javax.swing.JLabel;
import nivel.Casillero;
import nivel.Nivel;
import sprite.personajes.SpriteKoopa;

/**
 * Clase que modela a Koopa, una tortuga, uno de los enemigos de Mario
 * 
 * @author Agustin Orge (LU.85538)
 * @author Victoria Martinez de la Cruz (LU.87620)
 */

public class Koopa extends Enemigo {

	/**
	 * Constructor de Koopa
	 * 
	 * @param n
	 *            nivel al cual Koopa esta asociado
	 * @param ca
	 *            casillero actual
	 */
	public Koopa(Nivel n, Casillero ca) {
		super();
		icono = new SpriteKoopa();
		label = new JLabel(icono.getGoLeft());
		label.setSize(16, 16);
		label.setLocation(ca.getX(), ca.getY());
		setCasillero(ca);
		setNivel(n);

	}

	/**
	 * Koopa muere
	 */
	public void morir() {
		nivel.getDirectorEnemigos().eliminarEnemigo(
				this.casilleroActual.getCoordenada());
		Caparazon c = new Caparazon(nivel, casilleroActual);
		nivel.getDirectorEnemigos().agregarEnemigo(c);
		nivel.getGrafica().getPanelEntidades().agregarEntidad(c.getLabel());
		nivel.getGrafica().getPanelEntidades().eliminarEntidad(label);
	}

	/**
	 * Cambio de grafica para el movimiento a derecha
	 */
	@Override
	public void moverDerecha() {

		super.moverDerecha();
		label.setIcon(icono.getGoRight());
	}

	/**
	 * Cambio de grafica para el movimiento a izquierda
	 */
	@Override
	public void moverIzquierda() {

		super.moverIzquierda();
		label.setIcon(icono.getGoLeft());
	}

	/**
	 * Koopa ataca a Mario
	 */
	public void mato() {
		nivel.getScore().modificarPuntaje(-45);
	}

}
